from struct import unpack

bmp_path = r'C:\Users\YapengMeng\Desktop\4.bmp'

with open(bmp_path, "rb+") as f:
    data = f.read()  #这样data是一个b开头的ASCII数字。
    # f.read(2)


print(unpack("<i", data[2:6]))
# print(type(data))
# print(type(data[2]))
i=0
# BMP文件头
# 0-1 'BM‘
# 2-5 文件实际大小 所有大小 占4个字节 单位是B
# 6-9 0
# 10-13 数据偏移量


# 位图信息头
# 14-17 信息头大小
# 18-21 宽度 像素
# 22-25 高度
# 26-27 1
# 28-29 每个像素比特数
# 30-33 压缩类型说明
# 34-37 图像数据大小
# 38-41 水平分辨率
# 42-45 垂直分辨率
# 46-49 颜色索引数
# 50-53 重要索引
# 54-结尾 实际数据 排序方式见“解密bmp”

for character in data:
    print(i,character)  # 将二进制数据转化为10进制数据。
    i=i+1
    if i>200:
        break